<?php
class Salida extends AppModel {

    var $name = 'Salida';    
    
    var $belongsTo = array(        
        'CodigoDocumentoRef' => array(
            'className' => 'CodigoDocumento',
            'foreignKey' => 'codigo_documento_ref_id'
        ),        
        'Cliente' => array(
            'className' => 'Cliente',
            'foreignKey' => 'cliente_id'
        ),         
        'Vendedore' => array(
            'className' => 'Trabajadore',
            'foreignKey' => 'trabajador_id'
        ),         
        'TipoOperacion' => array(
            'className' => 'TipoOperacionesAlmacene',
            'foreignKey' => 'tipo_movimiento_id'
        )        
    ); 
    
    var $hasMany = array(
    	'SalidaDetalle'=>array(
    		'className' => 'SalidaDetalle',
            'foreignKey' => 'salida_id'
    	)
    );
    
    public function getNumeroControl($centro_dist_id){
    	$centro_dist_id = empty($centro_dist_id)?$this->centroDistId():$centro_dist_id;
    	$Salida = $this->find('first', 
    				array(
    					'fields'=>array('substring("Salida"."numero_control", 3,7) as "Salida__numero_control"'),
    					'conditions'=>array(
	    					'Salida.centro_dist_id'=>$centro_dist_id,
    						'Salida.ejercicio_id'=>$this->ejercicioId()),
    					'order'=>array('Salida.numero_control'=>'desc'),
    					'recursive'=>-1
    				));
    	if(!empty($Salida)){
    		$correlativo = (int)$Salida['Salida']['numero_control']+1;
    		return 	str_repeat('0', 2-strlen($centro_dist_id))
    					.$centro_dist_id
    					.str_repeat('0', 5-strlen($correlativo))
    					.$correlativo;
    	} else {
    		return 	str_repeat('0', 2-strlen($centro_dist_id))
    					.$centro_dist_id.'00001';
    	}
    	
    }
}
?>